package edt.design.proxy;

import java.lang.reflect.InvocationHandler;
import java.lang.reflect.Proxy;

/**
 * 动态代理类
 * */
public class DynamicProxy<T> {
	
	@SuppressWarnings("unchecked")
	public  static <T>  T newProxyInstance(ClassLoader loader,Class<?>[] interfaces,InvocationHandler handler){
		
		//寻找JoinPoint连接点，AOP框架使用原数据定义
		if(true){
			//֪执行一个前置通知
	        (new BeforeAdvice()).execute();
		}
		
		//ִ执行目标，并返回结果		
		return (T)Proxy.newProxyInstance(loader, interfaces, handler);
	}

}
